1. Field of the Invention
The present invention relates to a data transmission apparatus, system and method and an image processing apparatus, and more particularly, to a data transmission apparatus, system and method and an image processing apparatus used in a case where an image providing device such as a digital camera is directly connected to an image processing device such as a printer via a serial interface based on, e.g., the IEEE 1394 standards.
2. Description of Related Art
Various types of systems which transfer data to a printer via a bus are known. For example, a known technique is to output data from a computer to the printer by using a defacto standard interface such as a SCSI (Small Computer System Interface) or Centronics interface.
In other words, the printer is connected to a personal computer (PC) used as a host device via a parallel or serial interface such as a centronics or RS232C interface.
Further, digital devices as image providing devices such as a scanner, a digital still camera and a digital video camera, are also connected to the PC. Image data inputted by the respective digital devices is temporarily stored in a hard disk or the like on the PC, then processed by an application software program or the like on the PC and converted into print data for the printer, and transferred via the above interface to the printer.
In the above system, the PC has driver software programs, respectively, for controlling the digital devices and the printer. The image data outputted from the digital devices is held by these driver software programs in data format which can be easily handled and displayed on the PC. The stored data is converted into the print data by an image processing method in consideration of image characteristics of the input and output devices.
Today it is possible for a new interface such as an interface based on the IEEE 1394 standards (hereinafter referred to as xe2x80x9c1394 serial busxe2x80x9d) to directly connect an image providing device and a printer. In case of directly connecting the image providing device to the printer by the 1394 serial bus, an FCP (Function Control Protocol) operand may include print data. Further, in the 1394 serial bus, a register area for may be provided such that data transfer is performed by writing data into the register area.
Further, the 1394 serial bus has an isochronous transfer mode and an asynchronous transfer mode. Time-restricted data, e.g., real-time data, is transferred by isochronous transfer, while simple data transfer is performed by asynchronous transfer.
Further, in a case where node(s) is added or deleted on the 1394 serial bus, bus reset is performed for reconstructing the bus.
As described above, the image data outputted from the image providing device is converted into print data by the PC and print-outputted by the printer, accordingly, even if the image providing device and the printer are directly connected, printing cannot be performed without the PC. A video printer which directly print-outputs image data outputted from a digital video camera is known, however, even in case of using this printer, connection is made only between specific devices. There is no video printer which is directly connected to a number of image providing devices for general printing purposes. That is, it is impossible to directly send image data from the image providing device to a printer for printing, by utilizing a function to directly connect devices, which is characteristic of the 1394 serial bus or the like.
In the above method which directly connects the image providing device to the printer with the 1394 serial bus and includes print data into an FCP operand, the control commands cannot be separated from the print data. Further, in this method, the transfer efficiency is low since a response is always required with respect to a command. The above method providing a register area for data transfer requires processing to determine whether or not data can be written into the register area at every data transfer. Accordingly, the overhead of the determination processing is great, which degrades the transfer efficiency.
Further, in the isochronous transfer for transferring time-restricted data, if a transfer error occurs, error recovery in certain data unit is difficult.
Further, if the above-described bus reset occurs, data transferred at that time is lost, or information indicating that data has been received is not correctly transmitted.
The present invention has been made to solve the respective or all of the above problems, and has its object to provide a data transmission apparatus, system and method and an image processing apparatus, appropriate for directly connecting a host device with a target device by using a serial interface based on the 1394 serial bus or the like and processing image data, directly sent from the host device to the target device, by the target device.
Further, another object of the present invention is to provide a data transmission apparatus, system and method and an image processing apparatus which separate control commands and data and attain high transfer efficiency.
Further, another object of the present invention is to provide a data transmission apparatus, system and method and an image processing apparatus which recover a transfer error even if the transfer error occurs in isochronous transfer.
According to the present invention, the foregoing objects are attained by providing a data transmission method of host and target devices which are connected by a serial bus, said method comprising the steps of: sending a command from said host device to said target device; returning a response from said target device to said host device; and transferring data by isochronous transfer from said host device to said target device if it is determined based on the response that a transfer error has not occurred, and retransferring the data if it is determined based on the response that the transfer error has occurred.
Further, the foregoing objects are attained by providing a data transmission apparatus connected to a serial bus, comprising: command transmission means for transmitting a command to a target device; reception means for receiving a response returned from said target device; and transfer means for transferring data by isochronous transfer to said target device if it is determined based on the response that a transfer error has not occurred, and retransferring the data if it is determined based on the response that the transfer error has occurred.
Further, the foregoing objects are attained by providing a data transmission apparatus connected to a serial bus, comprising: reception means for receiving a command and data sent from a host device; transmission means for sending a response to said host device; and detection means for inserting information indicative of occurrence of a transfer error into the response if detecting the occurrence of transfer error in data transfer.
Further, another object of the present invention is to provide a data transmission apparatus, system and method and an image processing apparatus which perform proper data transfer even if bus reset occurs.
According to the present invention, the foregoing object is attained by providing a data transmission method of host and target devices which are connected by a serial bus, said method comprising the steps of: sending a command from said host device to said target device; returning a response to the command from said target device to said host device; transferring data of a predetermined unit from said host device to said target device, based on buffer information included in the response; and retransferring a part of the data of the predetermined unit when bus reset has occurred.
Further, the foregoing object is attained by providing a data transmission apparatus connected to a serial bus, comprising: command transmission means for transmitting a command to a target device; reception means for receiving a response to the command, returned from said target device; transfer means for transferring data of a predetermined unit to said target device, based on buffer information included in the response; and retransfer means for, if bus reset has occurred, retransferring a part of the data of the predetermined unit transferred when the bus reset has occurred.
Further, the foregoing object is attained by providing a data transmission apparatus connected to a serial bus, comprising: command reception means for receiving a command sent from a host device; transmission means for transmitting a response to the command, to said host device; transfer means for transferring data of a predetermined unit to said host device, based on buffer information included in the response; and re-reception means for, if bus reset has occurred, re-receiving a part of the data of the predetermined unit transferred when the bus reset has occurred.
Other features and advantages of the present invention will be apparent from the following description taken in conjunction with the accompanying drawings, in which like reference characters designate the same name or similar parts throughout the figures thereof.